function isValid(s) {
    if(s % 2) return false
    const map = {'}': '{', ']': '[', ')': '('}, arr = []
    for(let i of s) {
        if(Object.values(map).includes(i)) {
            arr.push(i)
        } else {
            if(arr.pop() !== map[i]) {
                return false
            }
        }
    }
    if(arr.length) return false
    return true
}

let str = '[{}]'
console.log(isValid(str))